package com.zys.service;

import java.util.List;

import com.zys.pojo.Role;

/**
 * 处理角色 Service 层
 */
public interface RoleService {
  /**
   * 查询分类列表
   *
   * @return List
   */
  List<Role> findAll() throws Exception;

  /**
   * 添加角色
   *
   * @param rightsId 分配给角色的权限 id
   * @param role     角色信息
   */
  void add(Integer[] rightsId, Role role);

  /**
   * 根据 id 查询角色信息
   *
   * @param id 角色 id
   * @return 角色信息
   */
  Role findRoleById(Integer id);

  /**
   * 修改角色信息
   *
   * @param role 角色信息
   */
  void edit(Role role);

  /**
   * 根据 id 查询角色所拥有的权限
   *
   * @param id 角色 id
   * @return List
   */
  List<Integer> findRightsIdsByRoleId(Integer id);

  /**
   * 分配权限
   *
   * @param id       角色 id
   * @param rightsId 权限 id 列表
   */
  void setDistribution(Integer id, Integer[] rightsId);

  /**
   * 根据 id 删除角色
   *
   * @param id 角色 id
   */
  void delete(Integer id);
}
